package com.qijian.maindata.domain.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.qijian.common.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 物料档案对象 main_item
 *
 * @author qijian
 * @date 2021-09-01
 */
@Data
@ToString
public class ItemDto {

    @JsonSerialize(using = ToStringSerializer.class)
    private Long itemId;


    @Excel(name = "产品名称")
    @ApiModelProperty(value = "产品名称")
    private String productName;
    /**
     * 物料编码
     */
    @Excel(name = "物料编码")
    @ApiModelProperty(value = "物料编码")
    private String itemCode;

    /**
     * 物料名称
     */
    @Excel(name = "物料名称")
    @ApiModelProperty(value = "物料名称")
    private String itemName;

    /**
     * 物料单位
     */
    @Excel(name = "主单位")
    @ApiModelProperty(value = "主单位")
    private String itemUnit;

    /**
     * 物料辅助单位
     */
    @Excel(name = "辅单位")
    @ApiModelProperty(value = "辅单位")
    private String itemUnitSup;

    @Excel(name = "主数量")
    @ApiModelProperty(value = "主数量")
    private BigDecimal quantity;

    @Excel(name = "辅数量")
    @ApiModelProperty(value = "辅数量")
    private BigDecimal quantitySup;

    @Excel(name = "交货日期", dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("交货日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date arrivalDate;

    @Excel(name = "开工令")
    @ApiModelProperty(value = "开工令")
    private String projectMachineNo;

    @Excel(name = "送货地址")
    @ApiModelProperty(value = "送货地址")
    private String shippingAddress;

    /**
     * 物料属性
     */
    private String itemAttr;

    @Excel(name = "辅助属性.材质")
    private String attrCz;

    @Excel(name = "辅助属性.厚")
    private String attrH;

    @Excel(name = "辅助属性.宽")
    private String attrK;

    @Excel(name = "辅助属性.长")
    private String attrC;

    @Excel(name = "辅助属性.品牌")
    private String attrPp;

    @Excel(name = "辅助属性.规格型号")
    private String attrGgXh;

    @Excel(name = "辅助属性.库存项目")
    private String attrKcXm;

    @Excel(name = "辅助属性.复试")
    private String attrFs;

    @Excel(name = "辅助属性.库存备注")
    private String attrKcBz;

    @Excel(name = "辅助属性.包装方式")
    private String attrBzFs;

    @Excel(name = "辅助属性.PO号装配")
    private String attrPo;

    @Excel(name = "辅助属性.牌号")
    private String attrPh;

    @Excel(name = "辅助属性.标准件规格")
    private String attrBzjGg;

    @Excel(name = "辅助属性.性能等级")
    private String attrXnDj;

    @Excel(name = "辅助属性.表面处理")
    private String attrBmCl;

    @Excel(name = "辅助属性.规格/品牌")
    private String attrGgPp;

    @Excel(name = "辅助属性.型号/材质")
    private String attrXhCz;

    @Excel(name = "辅助属性.色号")
    private String attrSh;

    @Excel(name = "辅助属性.特殊要求")
    private String attrTsYq;

    @Excel(name = "辅助属性.标准件长度")
    private String attrBzjCd;

    /**
     * 备注
     */
    @Excel(name = "备注")
    @ApiModelProperty(value = "备注")
    private String remark;
}
